package com.turing.post.cardmanagement.util;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;

/**
 * @author zxp
 * @Jan 21, 2013
 */
@Remote
@Local
public interface CardClassicChangePolicyDao {

	/**
	 * 根据主键查询
	 * 
	 * @param cccp
	 * @return
	 */
	public CardClassicChangePolicy getCardClassicChangePolicyByPK(
			CardClassicChangePolicy cccp);

	/**
	 * 查询锁定
	 * 
	 * @param cccp
	 * @return
	 */
	public CardClassicChangePolicy getCardClassicChangePolicyForUpdate(
			CardClassicChangePolicy cccp);

	/**
	 * 根据原卡种类编号查询可变更卡种类变更费率列表
	 * @param fromClassicId
	 * @return
	 */
	public List<CardClassicChangePolicy> getCardClassicChangePolicyListByFromClassicId(
			BigInteger fromClassicId);
	/**
	 * 列表
	 * 
	 * @param page
	 * @return
	 */
	public List<CardClassicChangePolicy> getCardClassicChangePolicyList(
			BigInteger fromClassicId, BigInteger toClassicId, Integer page);

	/**
	 * 记录数
	 * 
	 * @return
	 */
	public Integer getCardClassicChangePolicyTotal(BigInteger fromClassicId,
			BigInteger toClassicId);

	/**
	 * 新增
	 * 
	 * @param cccp
	 * @throws PCPSApplicationException
	 */
	public void insertCardClassicChangePolicy(CardClassicChangePolicy cccp)
			throws PCPSApplicationException;

	/**
	 * 删除
	 * 
	 * @param cccp
	 * @throws PCPSApplicationException
	 */
	public void deleteCardClassicChangePolicy(CardClassicChangePolicy cccp)
			throws PCPSApplicationException;
}